Sound Source Summary
--------------------

The sound source is a self clocking d/a converter operating at 7 khz.
It has a 16-level fifo before the 8 bit dac so that you can write to it 16
values at once to reduce overhead.

The sound source is powered by pin 17 of the parallel port.
To turn on:         out port+2,4h
To turn off:        out port+2,Ch
where port is the bas address of the parallel port, 378h for LPT1.
The sound source should be turned off when your program is done using it.

Pin 17 is also used to strobe data. To send data, first write it to port,
then strobe pin 17 for 1-10 uSec.
For example:

out port,data
out port+2,Ch
wait 1-10 uSec
out port+2,4h

The fifo status can be read from pin 10, port+1 bit 6:

in port+1,al
test al,40h
jnz fifo_full

pin 10 is high when fifo is full.

Disney recommends the following method for using interrupts to send data to
the sound source:

Set up the system timer (interrupt 8) for 582 ints/sec. At each interrupt,
the interrupt handler always sends 8 samples without testing the fifo status,
then sends up to 8 more while testing status.
Once every 32 interrupts, the original interrupt handler is called to preserve
time correctly.
Note that the interrupts are generated by the pc hardware and not by the sound
source.

It's possible to modify any jdac/covox speech thing/dac on parallel port
so *some* programs will work by grounding pin 10 on the parallel port
(creating an always ready fifo without the right clock).

Only program which are self-clocking (doesn't try to send several samples
at once) will work.
It is possible to build a complete sound source from a fifo, 7khz clock and
a dac. I have no intention of doing that as it would be better to buy one
or better yet a sound blaster :-)

Programs known to work: MODPLAY, ANOTHER WORLD, Fasicination, SimAnt
Programs known not to work: Sierra games, wolf3d

My thanks to all who replied and especially to Mark Phillips for his great
help. He wrote the PROGSS.TXT file, also on the sound source which I append
here.

PROGSS.TXT by Mark Phillips
---------------------------

Some notes on programing for the Disney Sound Source.

 The Sound Source is a simple digital-to-analog sound device for the IBM PC
type computers. It consists of two parts, a dongel that hang off the printer
port and a 9 volt battery amplifier/speaker box.

 Since the SS is an output only device, I have to assume that you have a
source of digital sounds to play back. Due to filtering on the SS, it works
best with sounds sampled at less than 8Khz. This limits the sound output to
around 4Khz, about as good as a very good phone connection.

 While Disney has been less than forthcoming about information about a
software developers kit, writing sound output routines for the SS is fairly
simple.

 You only have to be concerned with 3 routines.

1. SS on.
2. Write data to SS.
3. SS off.

 The output rate is controlled by your program, usually by the hardware
timer.


 To turn on the SS do the following:

Read PrinterPort + 2     ;ControlPort
Clear Bit 3
Write ControlPort

In ASM:

SS_ON:
        MOV     DX,37Ah         ;Address of LPT1 control port
        IN      AL,DX
        AND     AL,11110111b    ;Clear bit 3
        OUT     DX,AL           ;Turn on SS


 Turning the SS off is almost the same:

Read ControlPort
Set Bit 3
Write ControlPort


SS_OFF:
        MOV     DX,37Ah
        IN      AL,DX
        OR      AL,00001000b    ;Set bit 3
        OUT     DX,AL


Send data like this:

Write data to PrinterPort
Pulse Bit 3 of ControlPort

BYTE_OUT assumes AL has the data byte to be sent to the SS and that
the SS is on. (Bit 3 of ControlPort is off)

BYTE_OUT:
        MOV     DX,378h         ;PrinterPort
        OUT     DX,AL           ;Send data to SS
PULSE:
        ADD     DX,2            ;Set DX to ControlPort
        IN      AL,DX
        OR      AL,00001000b    ;Bit 3 on
        OUT     DX,AL
        JMP     $+2             ;short delay to settle buss
        IN      AL,DX
        AND     AL,11110111b    ;Bit 3 off
        OUT     DX,AL


 I know that these routines are fairly simple and the could be improved on.
A close examination of the SS electronics reveals the capacity to generate
interrupts, (set bits 2 and 4 of ControlPort to possibily enable ints)
but I haven't gotten that far yet.

 Many thanks to Adrienne Cousins of VersaWare for her help with the above.
Get, register, and enjoy Adrienne's SPUTTER Sound System. It handles
Adlib, SoundBlaster, all Covox sound products, Disney SS, and the PC speaker.
Easy to use and fun, it's the best !!!

Search for SPUT115A, B, and C on your local BBS.

-----------------
End of PROGSS.TXT